package com.mango.community.util;

import com.alibaba.fastjson.JSONObject;
import org.apache.commons.lang3.StringUtils;
import org.springframework.util.DigestUtils;

import java.util.Map;
import java.util.UUID;

/**
 * @Author:  MangoCookieMilk
 * @Date:     2020/7/22 20:09
 * 项目的统一工具类
 */
public class CommunityUtil {

    /** 生成随机字符串
     * @return
     */
    public static String generateUUID(){
        return UUID.randomUUID().toString().replaceAll("-","");
    }

    /** MD5 加密
     * @param key
     * @return
     */
    public static String MD5(String key){
        if(StringUtils.isBlank(key)){
            return null;
        }else {
            return DigestUtils.md5DigestAsHex(key.getBytes());
        }
    }

    /**  获取JSON字符串
     * @param code   转换后响应的code码
     * @param msg    转换后响应的提示信息
     * @param map    业务数据
     * @return
     */
    public static String getJSONString(int code, String msg, Map<String,Object> map){
        //声明对象
        JSONObject json = new JSONObject();
        //将code跟msg放入到JSONObject对象中
        json.put("code",code);
        json.put("msg",msg);
        //判断传来的业务数据是否为空
        if (map != null){
            //遍历业务数据map的key值，然后放到JSONObject对象中
            for(String key : map.keySet()){
                json.put(key,map.get(key));
            }
        }
        //返回JSONObject
        return json.toJSONString();
    }
    public static String getJSONString(int code, String msg){
        return getJSONString(code,msg,null);
    }
    public static String getJSONString(int code){
        return getJSONString(code,null,null);
    }
}
